package com.ruoyi.labdata.service;

import java.util.List;
import com.ruoyi.labdata.domain.LabFlowDefination;

/**
 * 流程定义Service接口
 * 
 * @author winner pan
 * @date 2022-03-06
 */
public interface ILabFlowDefinationService 
{
    /**
     * 查询流程定义
     * 
     * @param workflowId 流程定义ID
     * @return 流程定义
     */
    public LabFlowDefination selectLabFlowDefinationById(Long workflowId);

    /**
     * 查询流程定义列表
     * 
     * @param labFlowDefination 流程定义
     * @return 流程定义集合
     */
    public List<LabFlowDefination> selectLabFlowDefinationList(LabFlowDefination labFlowDefination);

    /**
     * 新增流程定义
     * 
     * @param labFlowDefination 流程定义
     * @return 结果
     */
    public int insertLabFlowDefination(LabFlowDefination labFlowDefination);

    /**
     * 修改流程定义
     * 
     * @param labFlowDefination 流程定义
     * @return 结果
     */
    public int updateLabFlowDefination(LabFlowDefination labFlowDefination);

    /**
     * 批量删除流程定义
     * 
     * @param workflowIds 需要删除的流程定义ID
     * @return 结果
     */
   // public int deleteLabFlowDefinationByIds(Long[] workflowIds);

    /**
     * 删除流程定义信息
     * 
     * @param workflowId 流程定义ID
     * @return 结果
     */
    public int deleteLabFlowDefinationById(Long workflowId);
    
    public List<LabFlowDefination> selectAllFlowDefination(LabFlowDefination labFlowDefination);
    
    public LabFlowDefination previewFlowDefination(Long workflowId);
    
    public Integer checkAllowDelete(Long workflowId);
    
    public LabFlowDefination businessFlowDefination(String businessType);
}
